package com.ruoyi.workSafetyStandardization.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 专业配置对象 score_major_config
 *
 * @author pengjie
 * @date 2023-12-14
 */
@Data
public class MajorConfig extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 专业主键 */
    private String majorId;

    /** 父专业主键 */
    @Excel(name = "父专业主键")
    private String parentId;

    /** 专业简称 */
    @Excel(name = "专业简称")
    private String majorName;

    /** 专业全称 */
    @Excel(name = "专业全称")
    private String majorFullName;

    /** 标准得分 */
    @Excel(name = "标准得分")
    private Long majorStandardScore;

    /** 权重 */
    @Excel(name = "权重")
    private BigDecimal weight;

    /** 是否含有子专业, 默认0(0:否；1:是)； */
    @Excel(name = "是否含有子专业, 默认0(0:否；1:是)；")
    private Long child;

    /** 状态, 默认1(1:启用；0:停用)； */
    @Excel(name = "状态, 默认1(1:启用；0:停用)；")
    private Long enable;

    /** 排序 */
    @Excel(name = "排序")
    private Long sorting;

    /** 规则key(normal：正常规则；child：子表规则；maxLittle：取大项最小值) */
    @Excel(name = "规则key(normal：正常规则；child：子表规则；maxLittle：取大项最小值)")
    private String ruleKey;

    /** 规则 */
    @Excel(name = "规则")
    private String rule;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createByName;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createAt;

    /** 更新人 */
    @Excel(name = "更新人")
    private String updateByName;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateAt;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;

    /** 版本 */
    @Excel(name = "版本")
    private String version;

    /** 状态, 默认1(1:正常；2:冻结；98:关闭；99:删除)； */
    @Excel(name = "状态, 默认1(1:正常；2:冻结；98:关闭；99:删除)；")
    private Long status;

    /** 扩展字段1 */
    @Excel(name = "扩展字段1")
    private String extra1;

    /** 扩展字段2 */
    @Excel(name = "扩展字段2")
    private String extra2;

    /** 扩展字段3(标准standard，power权重) */
    @Excel(name = "扩展字段3(标准standard，power权重)")
    private String extra3;

    /** 扩展字段4 */
    @Excel(name = "扩展字段4")
    private String extra4;

    /** 扩展字段5 */
    @Excel(name = "扩展字段5")
    private String extra5;

    /** 扩展字段6 */
    @Excel(name = "扩展字段6")
    private String extra6;

    /** 扩展字段7 */
    @Excel(name = "扩展字段7")
    private String extra7;

    /** 扩展字段8 */
    @Excel(name = "扩展字段8")
    private String extra8;

    @TableField(exist = false)
    private List<MajorConfig> children;

    public List<MajorConfig> getChildren() {
        return children;
    }

    public void setChildren(List<MajorConfig> children) {
        this.children = children;
    }

    public void setMajorId(String majorId)
    {
        this.majorId = majorId;
    }

    public String getMajorId()
    {
        return majorId;
    }
    public void setParentId(String parentId)
    {
        this.parentId = parentId;
    }

    public String getParentId()
    {
        return parentId;
    }
    public void setMajorName(String majorName)
    {
        this.majorName = majorName;
    }

    public String getMajorName()
    {
        return majorName;
    }
    public void setMajorFullName(String majorFullName)
    {
        this.majorFullName = majorFullName;
    }

    public String getMajorFullName()
    {
        return majorFullName;
    }
    public void setMajorStandardScore(Long majorStandardScore)
    {
        this.majorStandardScore = majorStandardScore;
    }

    public Long getMajorStandardScore()
    {
        return majorStandardScore;
    }
    public void setWeight(BigDecimal weight)
    {
        this.weight = weight;
    }

    public BigDecimal getWeight()
    {
        return weight;
    }
    public void setChild(Long child)
    {
        this.child = child;
    }

    public Long getChild()
    {
        return child;
    }
    public void setEnable(Long enable)
    {
        this.enable = enable;
    }

    public Long getEnable()
    {
        return enable;
    }
    public void setSorting(Long sorting)
    {
        this.sorting = sorting;
    }

    public Long getSorting()
    {
        return sorting;
    }
    public void setRuleKey(String ruleKey)
    {
        this.ruleKey = ruleKey;
    }

    public String getRuleKey()
    {
        return ruleKey;
    }
    public void setRule(String rule)
    {
        this.rule = rule;
    }

    public String getRule()
    {
        return rule;
    }
    public void setCreateByName(String createByName)
    {
        this.createByName = createByName;
    }

    public String getCreateByName()
    {
        return createByName;
    }
    public void setCreateAt(Date createAt)
    {
        this.createAt = createAt;
    }

    public Date getCreateAt()
    {
        return createAt;
    }
    public void setUpdateByName(String updateByName)
    {
        this.updateByName = updateByName;
    }

    public String getUpdateByName()
    {
        return updateByName;
    }
    public void setUpdateAt(Date updateAt)
    {
        this.updateAt = updateAt;
    }

    public Date getUpdateAt()
    {
        return updateAt;
    }
    public void setVersion(String version)
    {
        this.version = version;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getVersion()
    {
        return version;
    }
    public void setStatus(Long status)
    {
        this.status = status;
    }

    public Long getStatus()
    {
        return status;
    }
    public void setExtra1(String extra1)
    {
        this.extra1 = extra1;
    }

    public String getExtra1()
    {
        return extra1;
    }
    public void setExtra2(String extra2)
    {
        this.extra2 = extra2;
    }

    public String getExtra2()
    {
        return extra2;
    }
    public void setExtra3(String extra3)
    {
        this.extra3 = extra3;
    }

    public String getExtra3()
    {
        return extra3;
    }
    public void setExtra4(String extra4)
    {
        this.extra4 = extra4;
    }

    public String getExtra4()
    {
        return extra4;
    }
    public void setExtra5(String extra5)
    {
        this.extra5 = extra5;
    }

    public String getExtra5()
    {
        return extra5;
    }
    public void setExtra6(String extra6)
    {
        this.extra6 = extra6;
    }

    public String getExtra6()
    {
        return extra6;
    }
    public void setExtra7(String extra7)
    {
        this.extra7 = extra7;
    }

    public String getExtra7()
    {
        return extra7;
    }
    public void setExtra8(String extra8)
    {
        this.extra8 = extra8;
    }

    public String getExtra8()
    {
        return extra8;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("majorId", getMajorId())
            .append("parentId", getParentId())
            .append("majorName", getMajorName())
            .append("majorFullName", getMajorFullName())
            .append("majorStandardScore", getMajorStandardScore())
            .append("weight", getWeight())
            .append("child", getChild())
            .append("enable", getEnable())
            .append("sorting", getSorting())
            .append("ruleKey", getRuleKey())
            .append("rule", getRule())
            .append("createBy", getCreateBy())
            .append("createByName", getCreateByName())
            .append("createAt", getCreateAt())
            .append("updateBy", getUpdateBy())
            .append("updateByName", getUpdateByName())
            .append("updateAt", getUpdateAt())
            .append("remark", getRemark())
            .append("version", getVersion())
            .append("status", getStatus())
            .append("extra1", getExtra1())
            .append("extra2", getExtra2())
            .append("extra3", getExtra3())
            .append("extra4", getExtra4())
            .append("extra5", getExtra5())
            .append("extra6", getExtra6())
            .append("extra7", getExtra7())
            .append("extra8", getExtra8())
            .toString();
    }
}
